From: Ian Campbell Date: Mon, 13 May 2013 16:23:00 +0000 (+0100) Subject: xen/arm64: do not clobber callee saved register in early_putch X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6813 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/%22bookmarks:/?a=commitdiff_plain;h=2629838162255cc1207a80f8976fbd4e51763a76;p=xen.git xen/arm64: do not clobber callee saved register in early_putch x23 is callee saved in the ARM 64 bit calling convention. Use x15 instead which is a temporary register which need not be preserved. Fixes a random crash during boot. Signed-off-by: Ian Campbell Acked-by: Stefano Stabellini --- diff --git a/xen/arch/arm/arm64/debug.S b/xen/arch/arm/arm64/debug.S index f0c77615bd..38b7c74ff7 100644 --- a/xen/arch/arm/arm64/debug.S +++ b/xen/arch/arm/arm64/debug.S @@ -27,9 +27,9 @@ /* Print a character on the UART - this function is called by C * x0: character to print */ early_putch: - ldr x23, =FIXMAP_ADDR(FIXMAP_CONSOLE) - early_uart_ready x23, 1 - early_uart_transmit x23, w0 + ldr x15, =FIXMAP_ADDR(FIXMAP_CONSOLE) + early_uart_ready x15, 1 + early_uart_transmit x15, w0 ret /*